This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. xc2xa7119 from an application entitled DEVICE AND METHOD FOR GENERATING PN SEQUENCE IN CDMA COMMUNICATION SYSTEM earlier filed in the Korean Industrial Property Office on Mar. 23, 1998, and there duly assigned Ser. No. 98-10395.
1. Field of the Invention
The present invention relates generally to a Code Division Multiple Access System (CDMA), and more particularly, to a device and method for generating a PN (PseudoNoise) sequence by orthogonal code hopping.
2. Description of the Related Art
Generally, symbols of an orthogonal or biorthogonal code are hopped according to a predetermined hopping pattern in each of a plurality of transmitters in an asynchronous CDMA base station to generate a PN sequence. Asynchronous base stations can use PN sequences to allow a mobile station to identify them. A plurality of slots (e.g., 16 slots) are assigned to one frame. A period of hopped orthogonal Gold code is sent in each slot. Since the orthogonal Gold code hopping patterns are different in the plurality of slots, the mobile station can identify a corresponding base station. If the mobile station can detect the starting point of one frame, it can discriminate a base station from others by determining the offset of the orthogonal Gold code in each slot from the frame starting point. The PN sequence may be used for spread spectrum or scrambling in the case where a different orthogonal code is used for channel identification. A particular receiver may simultaneously receive signals from a corresponding transmitter as well as from transmitters communicating with other receivers. If the plurality of signals, which contain data symbols to be despread, share the same PN sequence and the same orthogonal code (e.g., Walsh code) for channel identification, the receiver will be able to simultaneously despread the signals but fail to recover the intended data symbols. In the case of a periodic PN sequence, data symbols cannot periodically be recovered.
FIGS. 1A and 1B are schematic views of conventional PN sequence generators based on orthogonal code hopping and orthogonal Gold code hopping, respectively. FIGS. 1C and 1D are schematic views of conventional PN sequence generators based on biorthogonal code hopping and biorthogonal Gold code hopping, respectively.
FIGS. 2A and 2B illustrate a case where a receiver simultaneously receives the same orthogonal or biorthogonal code from different transmitters using PN sequence generators, based on possibly different hopping patterns, and cannot discriminate between data symbols through despreading. When an orthogonal code other than a PN sequence is used for distinguishing a communication channel in a transmitter, only data symbols using the same channel identifying orthogonal code avoid discrimination since collision occurs when the orthogonal code for generating a PN sequence and the orthogonal code for channelization of two received signals are the same. As illustrated in FIGS. 2A and 2B, a PN sequence PNA of a transmitter A 210 and a PN sequence PNB of a transmitter B 260 are generated from the same orthogonal code, however, each uses a different hopping pattern. In FIG. 2B, though an orthogonal code OC3 is simultaneously received from the transmitters A 210 and B 260 (See FIG. 2A), only the data symbol using a channel identifying orthogonal spreading code W2 in the orthogonal code OC3 is lost due to symbol collision. That is, all of the coincident symbols in the respective PN sequences which are identical cannot be recovered (i.e., OC3). If the strengths of the signals received from the respective transmitters A 210 and B 260 are equal, they cannot be discriminated. If one is far stronger than the other, the stronger signal can be discriminated.
Orthogonal or biorthogonal codes for use in PN sequence generation include, but are not restricted to Walsh codes, Hardamard codes, Gold codes, and the like.
Referring to FIG. 1A, reference numeral 110 denotes a PN sequence generator, constructed in accordance with the prior art, based on orthogonal code hopping. Reference numerals 120, 130, and 140 are orthogonal symbol generators to generate orthogonal codes. A selector 150 selectively outputs orthogonal symbols generated from each of the respective orthogonal symbol generators 120 to 140 according to an orthogonal symbol hopping pattern provided by hopping pattern generator 160. The selector 150 outputs a PN sequence from the selected symbols. The orthogonal symbol hopping pattern generator 160 generates an orthogonal code hopping pattern under a predetermined rule. It is to be noted here that like reference numerals denote the same components in the drawings.
FIG. 1B is a schematic view of PN sequence generator based on orthogonal Gold code hopping. In FIG. 1B, the orthogonal symbol hopping pattern generator 160 determines an initial value for an m-sequence (with a period of 2nxe2x88x921) generator 163. An initial value register 162 stores the determined initial value. Another m-sequence generator 167 with a period of 2nxe2x88x921 generates an m-sequence having an initial value with no relation to the initial value stored in initial value register 162. This second generated initial value is stored in an initial value register 166. A Gold sequence is generated by exclusive-ORing the outputs of the two m-sequence generators 163 and 167 by an exclusive-OR gate 164. To change the Gold sequence to an orthogonal Gold code, the operations of the m-sequence generators 163 and 167 are stopped for one clock period if the status value, which is the initial stored value of the m-sequence generator 167, of the m-sequence generator 167 is equal to a predetermined reference value as determined by comparator 169. Each m sequence generator generates (2nxe2x88x921) m-sequences in one period. (2nxe2x88x921) sequences are also produced by adding the output values of the two m-sequence generators symbol by symbol. To obtain 2xe2x80x3 orthogonal Gold sequences from the (2nxe2x88x921) sequences, a zero is inserted in a predetermined position of the (2nxe2x88x921) sequences where the status value, (i.e., initial value of the m-sequence generator) is identical to a reference value. Zero is inserted in the same position in the next period because the m-sequence generator generates period m-sequences. The reference value can be determined depending on where zero is to be inserted in an orthogonal Gold code sequence, and the insertion position can be predefined freely. Whenever the values are equal, a switch 168 normally connected to the output of the exclusive-OR gate 164 is switched to select a zero value for insertion into the Gold sequence. Otherwise, when the values are not equal, the m-sequence generators 163 and 167 are operated again.
FIG. 1C is a schematic view of a conventional PN sequence generator based on biorthogonal code hopping, modified from the PN sequence generator based on orthogonal code hopping. If there are 32 orthogonal symbol generators, each orthogonal symbol generator periodically generates a corresponding orthogonal sequence. For example, the hopping pattern of the orthogonal symbol hopping pattern generator 160 is 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32. The biorthogonal symbol hopping pattern generator 170 generates one additional bit to the hopping pattern generated by generator 160. This one bit may be MSB or LSB and indicates a sign. By passing the additional bit through the XOR gate 190, not 64 PN sequences are generated instead of 32. Given orthogonal codes of the same length provided as input to hopping pattern generators 160 and 170, the output of a biorthogonal symbol hopping pattern generator 170 is twice as long as the orthogonal symbol hopping pattern generator 160 output. The output of the biorthogonal symbol hopping pattern generator 170 passes an additional bit such as an MSB (Most Significant Bit) or LSB (Least Significant Bit) through an exclusive-OR gate which is similar to the sign bit of the generated orthogonal code symbol. That is, the number of elements in the biorthogonal code set is twice as large as that of orthogonal codes by adding signs (i.e., xe2x80x9c+xe2x80x9d and xe2x80x9cxe2x88x92xe2x80x9d) to the orthogonal codes. To indicate the sign, one bit is additionally assigned to an orthogonal code number. FIG. 1D illustrates biorthogonal Gold code hopping which illustrates a modification of the apparatus of FIG. 1B for biorthogonal codes.
FIGS. 2A and 2B illustrate data symbol loss in a receiver which may occur when a plurality of transmitters use PN sequences generated from different transmitters which simultaneously transmit signals to the receiver, where each transmitter transmits one of the following conventional orthogonal codes: orthogonal, orthogonal gold, biorthogonal and biorthogonal gold code hopping.
The transmitter A 210 generates the PN sequence PNA by hopping orthogonal or biorthogonal codes in a predetermined hopping pattern indicated by 220. Reference numeral 230 denotes data symbols of the PN sequence PNA to be used for spreading or scrambling. The transmitter B 260 generates the PN sequence PNB by hopping orthogonal or biorthogonal codes in a predetermined hopping pattern indicated by 270. Reference numeral 280 denotes data symbols of the PN sequence PNB to be used for spreading or scrambling. If signals from the transmitters A 210 and B 260 arrive at a receiver 200 at similar levels and share the same orthogonal symbols in their respective hopping patterns as shown in FIGS. 2A and 2B, it is difficult to discriminate one from the other. For example, as illustrated in FIG. 2a, orthogonal code OC3 is simultaneously received at the receiver causing a collision period.
FIG. 2B is a magnified view of a symbol collision period. As illustrated in FIG. 2B, all data symbols are not damaged by the collision. Only the data symbols loaded on channels sharing the same channel identifying orthogonal code are lost as indicated by 232 and 274. Here, a Walsh code is used as an example. With reference to the example shown, only the data symbols sharing the same orthogonal code, that is, Walsh code W2, are lost among the totality of data symbols in each of the respective communication channels (i.e., W1, W2 and W3). Further, if a hopping pattern is repeated periodically, data loss will also be periodic.
A general object of the present invention is to provide a PN sequence (i.e., orthogonal code) generating device and PN sequence generating method in a CDMA communication system which can overcome the data collision problems described above.
Another object of the present invention is to provide a device and method for generating a PN sequence (i.e., orthogonal code) to overcome data collision problems by performing a cyclic shift on the symbols of an orthogonal ode according to a hopping pattern.
A further object of the present invention is to provide a device and method for generating a PN sequence (i.e., orthogonal code) based on orthogonal or biorthogonal code hopping to prevent simultaneous despreading of data symbols received from a plurality of transmitters.
According to the present invention, as embodied and broadly described herein, there is provided a PN sequence generating device and method in a CDMA communication system. In the PN sequence generating device, an orthogonal symbol generating portion cyclically shifts mutually orthogonal and/or periodic orthogonal code sequences, and an orthogonal symbol selector selectively outputs the cyclically shifted orthogonal symbols according to a predetermined pattern.